SPAD arrays can be used for a variety of applications, including for ranging, for Z (i.e. depth detection) or three-dimensional (3D) gesture recognition and for 3D imaging. A device for such applications generally comprises a laser for transmitting a light pulse into an image scene. The light pulse reflected back from an object in the image scene is detected by the SPAD array, and used to determine the time of flight of the light pulse. The distance from the object to the device can then be deduced based on this time of flight.
The detection by the SPAD array of the returning light pulse is based on event detection in the cells of the SPAD array. In particular, each SPAD cell will provide an output pulse when a photon is detected, and by monitoring the events, the arrival time of the return pulse can be estimated.